home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
AMICUS
/
AMIBEST1.ADF
/
AmigaBasicStuff
/
Subscripts
/
SSScriptDemo
(
.txt
)
< prev
next >
Wrap
AmigaBASIC Source Code
|
1987-07-22
|
21KB
|
1,013 lines
' Subscript & Superscript Demonstrator Mark I
' Ivan C. Smith
' P O Box 226
' Chester, Nova Scotia
' Canada B0J 1J0
' rev 9 18 Dec 1986
' runs on 256 k Amiga
' requires 80 characters in screen line
CLEAR,28000 :' needs 28 k of memory
GOSUB SetUp
GOSUB DefineConst
GOSUB Formula1
GOSUB Formula2
GOSUB Formula3
GOSUB Formula4
GOSUB Formula5
GOSUB Formula6
GOSUB Formula7
GOSUB Formula8
GOSUB Formula9
GOSUB Formula10
GOSUB Formula11
GOSUB Formula12
GOSUB Formula13
END
SetUp:
LOCATE 3,25
PRINT "Setup"
' first character in f1$ should be a space
f1$ = " 0123456789+-=!@#$%&*()<>?/:;',."
f2$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
n = LEN(f1$) + LEN(f2$)
DIM Access%(255) :' access array
DIM SScript%(19,n - 1)
count% = -1
z$ = f1$
GOSUB ScreenGet
z$ = f2$
GOSUB ScreenGet
x = 10
y = 50
FOR j = 1 TO n :' show result on screen
x = x + 17
IF x > 600 THEN
x = 10
y = y + 12
END IF
PUT (x,y),SScript%(0,j - 1),PSET
NEXT j
FOR j = 1 TO 1000 : NEXT j :' pause
RETURN
DefineConst:
q$ = CHR$(34)
DIM plocate%(5,1) :' pixel locations
CharacterWidth% = 8
RETURN
ScreenGet:
IF z$ = "" THEN RETURN
LOCATE 10,2
COLOR 1,0
PRINT z$
z = LEN(z$)
FOR j = 1 TO z
count% = count% + 1
GET (8 * j,72) - (8 * j + 7,79),SScript%(0,count%)
a = ASC(MID$(z$,j ,1))
Access%(a) = count%
NEXT j
LOCATE 10,2
PRINT SPACE$(75)
RETURN
FreMem:
LOCATE 22,21
PRINT "Free memory in system ="FRE(-1);
LOCATE 23,21
PRINT "Free memory in Basic ="FRE(0);
RETURN
TranslateFormula:
' ypixel% = y coordinate of current baseline, in pixels
' yInc% = current position measured above or below current baseline
' y coordinate of current position (in pixels) = ypixel% + yInc%
' x coordinate of current position (in pixels) = xpixel%
IF Formula$ = "" THEN RETURN
tra1:
zlen% = LEN(Formula$)
IF RIGHT$(Formula$,1) = "\" THEN
IF zlen% < 2 THEN Formula$ = "" : RETURN
Formula$ = LEFT$(Formula$,zlen% - 1)
GOTO tra1
END IF
yInc% = 0
j = 0
WHILE j < zlen%
j = j + 1
y$ = MID$(Formula$,j,1)
IF y$ = "\" THEN
j = j + 1
y$ = MID$(Formula$,j,1)
IF y$ = "+" THEN yInc% = yInc% - 6
IF y$ = "-" THEN yInc% = yInc% + 6
IF y$ = "Z" THEN yInc% = 0
IF y$ = "." THEN GOSUB DotMult
IF y$ = "A" THEN GOSUB ArrowRight
IF y$ = "B" THEN GOSUB ArrowRL
IF y$ = "C" THEN GOSUB ArrowLeft
IF y$ = "J" THEN
plocate%(1,0) = xpixel%
plocate%(1,1) = ypixel% + yInc%
END IF
IF y$ = "j" THEN
xpixel% = plocate%(1,0)
ypixel% = plocate%(1,1)
yInc% = 0
END IF
IF y$ = "K" THEN
plocate%(2,0) = xpixel%
plocate%(2,1) = ypixel% + yInc%
END IF
IF y$ = "k" THEN
xpixel% = plocate%(2,0)
ypixel% = plocate%(2,1)
yInc% = 0
END IF
IF y$ = "L" THEN
plocate%(3,0) = xpixel%
plocate%(3,1) = ypixel% + yInc%
END IF
IF y$ = "l" THEN
xpixel% = plocate%(3,0)
ypixel% = plocate%(3,1)
yInc% = 0
END IF
IF y$ = "M" THEN
plocate%(4,0) = xpixel%
plocate%(4,1) = ypixel% + yInc%
END IF
IF y$ = "m" THEN
xpixel% = plocate%(4,0)
ypixel% = plocate%(4,1)
yInc% = 0
END IF
IF y$ = "N" THEN
plocate%(5,0) = xpixel%
plocate%(5,1) = ypixel% + yInc%
END IF
IF y$ = "n" THEN
xpixel% = plocate%(5,0)
ypixel% = plocate%(5,1)
yInc% = 0
END IF
y = VAL(y$)
IF y > 0 THEN
xpixel% = xpixel% - y
IF xpixel% < 1 THEN xpixel% = 1
END IF
ELSE
a = ASC(y$)
ac = Access%(a)
PUT (xpixel%,ypixel% + yInc%),SScript%(0,ac),PSET :' print chr
IF yInc% = 0 OR FlagFraction% = 1 THEN
xpixel% = xpixel% + CharacterWidth%
ELSE
xpixel% = xpixel% + 9
END IF
END IF
WEND
RETURN
Fraction:
IF Denominator$ = "" THEN RETURN
IF Numerator$ = "" THEN RETURN
FlagFraction% = 1
xentry% = xpixel%
yentry% = ypixel%
counter% = 0
z9 = LEN(Numerator$)
FOR j = 1 TO z9
y$ = MID$(Numerator$,j,1)
IF y$ = "\" THEN counter% = counter% + 2 :' count non-printing chr
NEXT j
znum% = z9 - counter% :' znum% = nbr of printing characters in numerator
IF znum% < 1 THEN znum% = 1
counter% = 0
z9 = LEN(Denominator$)
FOR j = 1 TO z9
y$ = MID$(Denominator$,j,1)
IF y$ = "\" THEN counter% = counter% + 2 :' count non-printing chr
NEXT j
zden% = z9 - counter% :' zden% = nbr of printing characters in denominator
IF zden% < 1 THEN zden% = 1
zfra% = zden%
IF znum% > zden% THEN zfra% = znum%
IF zden% < znum% THEN
z = (znum% - zden%) \ 2
Denominator$ = SPACE$(z) + Denominator$ :' centering of shorter denominator
END IF
IF znum% < zden% THEN
z = (zden% - znum%) \ 2
Numerator$ = SPACE$(z) + Numerator$ :' centering of shorter numerator
END IF
Formula$ = Numerator$ :' print numerator
xpixel% = xentry% + 4
ypixel% = yentry% - 5
GOSUB TranslateFormula
Formula$ = Denominator$ :' print denominator
xpixel% = xentry% + 4
ypixel% = yentry% + 5
GOSUB TranslateFormula
x = xentry% + 6
y = yentry% + 3
LINE (x - 8,y) - (x + 9 * zfra%,y),1
xpixel% = xentry% + 9 * (zfra% + 1)
ypixel% = yentry%
FlagFraction% = 0
RETURN
ArrowRight:
x = xpixel% + 36
y = ypixel% + 3 - yInc%
LINE (x - 21,y) - (x,y),1
LINE (x - 8,y + 3) - (x,y),1
LINE (x - 8,y - 3) - (x,y),1
xpixel% = xpixel% + 50
RETURN
ArrowRL:
x = xpixel% + 36
y = ypixel% + 3 - yInc%
LINE (x - 21,y - 1) - (x,y - 1),1
LINE (x - 13,y - 4) - (x - 21,y - 1),1
LINE (x - 21,y + 1) - (x,y + 1),1
LINE (x - 8,y + 4) - (x,y + 1),1
xpixel% = xpixel% + 50
RETURN
ArrowLeft:
x = xpixel% + 15
y = ypixel% + 3 - yInc%
LINE (x,y) - (x + 21,y),1
LINE (x + 8,y + 3) - (x,y),1
LINE (x + 8,y - 3) - (x,y),1
xpixel% = xpixel% + 50
RETURN
ButtonBox:
COLOR 1,0
GOSUB FreMem
FOR j = 1 TO 5000 : NEXT j
IF FlagBox% = 2 THEN
LINE (40,162) - (227,180),1,bf
LINE (40,162) - (227,180),3,b
LINE (39,162) - (228,180),3,b
LINE (43,164) - (224,178),2,b
LINE (44,164) - (223,178),2,b
LOCATE 22,8
COLOR 2,1
PRINT "Show formula coding";
END IF
LINE (420,162) - (587,180),1,bf
LINE (420,162) - (587,180),3,b
LINE (419,162) - (588,180),3,b
LINE (423,164) - (584,178),2,b
LINE (424,164) - (583,178),2,b
LOCATE 22,55
COLOR 2,1
PRINT "Go to next formula";
LOCATE 19,1
FlagChoice% = 0
WHILE FlagChoice% = 0
IF MOUSE(0) < 0 THEN
x = MOUSE(1)
y = MOUSE(2)
IF y > 161 AND y < 181 THEN
IF x > 38 AND x < 229 AND FlagBox% = 2 THEN FlagChoice% = 1
IF x > 418 AND x < 589 THEN FlagChoice% = 2
END IF
END IF
WEND
LINE (35,160) - (590,184),0,bf :' erase button boxes
RETURN
DotMult:
x = xpixel%
y = ypixel% - 2 - yInc%
ac = Access%(46)
PUT (x,y),SScript%(0,ac),PSET :' print raised dot
xpixel% = xpixel% + CharacterWidth%
RETURN
Formula1:
title$ = "Subscripts Only"
COLOR 1,0
CLS
z = 37 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 5,7
PRINT "Plaster of Paris is used by doctors to make casts for broken bones."
LOCATE 6,7
PRINT "It is manufactured by heating gypsum:"
CharacterWidth% = 9
xchr% = 13 :' x position in characters, for LOCATE
ychr% = 9 :' y position in characters, for LOCATE
xpixel% = 8 * xchr% - 7 :' x position in pixels
ypixel% = 8 * ychr% - 8 :' y position in pixels
Formula$ = "2 CaSO\-4\Z\.2 H\-2\ZO\A(CaSO\-4\Z)\-2\Z\.H\-2\ZO + 3 H\-2\ZO"
GOSUB TranslateFormula
LOCATE ychr% + 3,1
PRINT TAB(17) "gypsum" TAB(33) "plaster of Paris"
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
LOCATE 17,6
COLOR 3,1
PRINT Formula$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula2:
title$ = "Two-Digit Subscripts"
COLOR 1,0
CLS
z = 37 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 4,3
PRINT "When soap (sodium stearate) is dissolved in hard water (water containing"
LOCATE 5,3
PRINT "dissolved calcium and magnesium salts), it reacts with these salts to"
LOCATE 6,3
PRINT "form insoluble compounds, which, in turn, form the ring around the tub."
LOCATE 7,3
PRINT "An example of this kind of reaction follows:"
CharacterWidth% = 9
xchr% = 10 :' x position in characters, for LOCATE
ychr% = 11 :' y position in characters, for LOCATE
xpixel% = 8 * xchr% - 7 :' x position in pixels
ypixel% = 8 * ychr% - 8 :' y position in pixels
f1$ = "2 C\-17\ZH\-35\ZCOONa + CaCl\-2\Z\A(C\-17\ZH\-35\ZCOO)"
Formula$ = f1$ + "Ca + 2 NaCl"
GOSUB TranslateFormula
LOCATE ychr% + 3,1
PRINT TAB(14) "soap" TAB(44) "insoluble"
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
LOCATE 17,6
COLOR 3,1
PRINT Formula$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula3:
title$ = "Superscript & Subscript & Fractional Coefficient"
COLOR 1,0
CLS
z = 37 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 5,12
PRINT "The following formula describes the distance travelled"
LOCATE 6,12
PRINT "by an object moving under constant acceleration:"
CharacterWidth% = 9
xchr% = 20 :' x position in characters, for LOCATE
ychr% = 11 :' y position in characters, for LOCATE
xpixel% = 8 * xchr% - 7 :' x position in pixels
ypixel% = 8 * ychr% - 8 :' y position in pixels
f1$ = "d = v\-1\Zt + "
Formula$ = f1$
GOSUB TranslateFormula
Numerator$ = "1"
Denominator$ = "2"
GOSUB Fraction
f2$ = "at\+2\Z"
Formula$ = f2$
GOSUB TranslateFormula
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
LOCATE 17,20
COLOR 3,1
PRINT f1$;
COLOR 1,0
PRINT SPACE$(7);
COLOR 3,1
PRINT f2$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula4:
title$ = "Scientific Notation and Units"
COLOR 1,0
CLS
z = 37 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
f1$ = "D\-2\ZO"
f2$ = "20\+o\ZC"
f3$ = "1.108 x 10\+3\Z kg\.m\+-3\Z,"
f4$ = "H\-2\ZO"
f5$ = "9.97 x 10\+2\Z kg\.m\+-3\Z."
CharacterWidth% = 8
xchr% = 4 :' x position in characters, for LOCATE
ychr% = 5 :' y position in characters, for LOCATE
xpixel% = 8 * xchr% - 7 :' x position in pixels
ypixel% = 8 * ychr% - 8 :' y position in pixels
Formula$ = "The density of "+f1$+" (heavy water) at "+f2$+" is "+f3$
GOSUB TranslateFormula
xchr% = 4
ychr% = 7
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
Formula$ = "which compares to the "+f2$+" density of "+f4$+" of "+f5$
GOSUB TranslateFormula
LOCATE 9,4
PRINT "That is, "+q$+"heavy water"+q$+" is just that, it is 11% heavier than ordinary"
LOCATE 11,4
PRINT "water."
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
COLOR 3,1
LOCATE 15,10
PRINT f1$
LOCATE 15,30
PRINT f2$
LOCATE 17,10
PRINT f3$
LOCATE 15,50
PRINT f4$
LOCATE 17,45
PRINT f5$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula5:
title$ = "Superscript Concurrent With Subscript"
COLOR 1,0
CLS
z = 37 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 3,3
PRINT " Sulphuric acid is an acid which can transfer two hydrogen ions to two"
LOCATE 4,3
PRINT "water molecules. The first hydrogen ion separates from the sulphuric"
LOCATE 5,3
PRINT "acid molecule easily:"
CharacterWidth% = 9
xchr% = 23
ychr% = 7
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f1$ = "H\-2\ZSO\-4\Z + H\-2\ZO\AH\-3\ZO\++\Z + HSO\-4\Z\+\9-\Z"
Formula$ = f1$
GOSUB TranslateFormula
CharacterWidth% = 8
f2$ = "HSO\+-\Z\-\94\Z "
xchr% = 3
ychr% = 10
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
Formula$ = " The second hydrogen ion can also leave the "+f2$
Formula$ = Formula$ + "ion, but it has more"
GOSUB TranslateFormula
PRINT ""
LOCATE 11,3
PRINT "difficulty in leaving than did the first:"
CharacterWidth% = 9
xchr% = 23
ychr% = 14
LOCATE ychr%,1
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f3$ = "HSO\+-\Z\-\94\Z + H\-2\ZO\AH\-3\ZO\++\Z + SO\-4\Z\+\9--\Z"
Formula$ = f3$
GOSUB TranslateFormula
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
COLOR 3,1
LOCATE 18,3
PRINT f1$
LOCATE 16,3
PRINT f2$
LOCATE 20,3
PRINT f3$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula6:
title$ = "Superscript Concurrent With Subscript"
COLOR 1,0
CLS
z = 37 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 5,10
PRINT "The Cockroft-Walton experiment, first performed in 1932,"
LOCATE 6,10
PRINT "bombards a target of lithium with high-speed protons. "
LOCATE 7,10
PRINT "This produces high-speed alpha particles by the following"
LOCATE 8,10
PRINT "nuclear reaction. (This is called a "+q$+"nuclear reaction"+q$
LOCATE 9,10
PRINT "because it takes place in the nucleus of the atom.)"
CharacterWidth% = 9
xchr% = 17
ychr% = 13
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f1$ = "\+7\Z\-\93\ZLi + \+1\Z\-\91\ZH\A\+4\Z\-\92\ZHe"
Formula$ = f1$ + " + \+4\Z\-\92\ZHe + energy"
GOSUB TranslateFormula
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
LOCATE 17,1
COLOR 3,1
PRINT Formula$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula7:
title$ = "Superscript Concurrent With Subscript, Multiple Digits"
COLOR 1,0
CLS
z = 37 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 3,4
PRINT "A "+q$+"breeder reactor"+q$+" makes Plutonium from Uranium-238 by this process."
CharacterWidth% = 9
xchr% = 4
ychr% = 6
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f1$ = "\+238\Z\-\9\992\ZU + \+1\Z\-\90\Zn\A\+239\Z\-\9\992\ZU"
Formula$ = "First " + f1$
GOSUB TranslateFormula
FOR j = 1 TO 3500 : NEXT j :' pause
xchr% = 5
ychr% = 10
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f2$ = "\+239\Z\-\9\992\ZU\A\+239\Z\-\9\993\ZNp + \+0\Z\-\9\9-1\Ze"
Formula$ = "then " + f2$
GOSUB TranslateFormula
FOR j = 1 TO 3500 : NEXT j :' pause
xchr% = 2
ychr% = 14
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f3$ = "\+239\Z\-\9\993\ZNp\A\+239\Z\-\9\994\ZPu + \+0\Z\-\9\9-1\Ze"
Formula$ = "finally " + f3$
GOSUB TranslateFormula
FOR j = 1 TO 3500 : NEXT j :' pause
LOCATE 6,52
PRINT "Notes:"
xchr% = 49
ychr% = 8
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
Formula$ = "\+1\Z\-\90\Zn"
GOSUB TranslateFormula
LOCATE 8,54
PRINT "represents a neutron"
xchr% = 48
ychr% = 12
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
Formula$ = "\--1\Z\+\90\Ze"
GOSUB TranslateFormula
LOCATE 12,54
PRINT "represents an electron"
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
COLOR 3,1
LOCATE 17,9
PRINT f1$
LOCATE 18,9
PRINT f2$
LOCATE 19,9
PRINT f3$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula8:
title$ = "Fraction With Superscripts & Subscripts"
COLOR 1,0
CLS
z = 38 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 4,8
PRINT "Newton's Law of Gravity:"
LOCATE 4,47
PRINT "Coulomb's Law:"
CharacterWidth% = 9
xchr% = 8
ychr% = 7
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f1$ = "F\-gravity\Z = G "
Formula$ = f1$
GOSUB TranslateFormula
f2$ = "\+m\-1\+m\-2"
f3$ = "\-d\+2"
Numerator$ = f2$
Denominator$ = f3$
GOSUB Fraction
xchr% = 40
ychr% = 7
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f4$ = "F\-electrostatic\Z = k "
Formula$ = f4$
GOSUB TranslateFormula
f5$ = "\+Q\-1\+Q\-2"
f6$ = "\-d\+2"
Numerator$ = f5$
Denominator$ = f6$
GOSUB Fraction
LOCATE 11,5
PRINT "G is called Newton's Universal Gravitational Constant."
LOCATE 15,5
PRINT "k is called Coulomb' Constant."
xchr% = 5
ychr% = 13
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
Formula$ = "G = 6.673 x 10\+-11\Z N\.m\+2\Z\.kg\+-2\Z"
GOSUB TranslateFormula
xchr% = 42
ychr% = 15
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
Formula$ = "k = 8.987 x 10\+9\Z N\.m\+2\Z\.C\+-2\Z"
GOSUB TranslateFormula
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
COLOR 3,1
LOCATE 18,2
PRINT f1$
LOCATE 17,21
PRINT f2$
LOCATE 19,21
PRINT f3$
LOCATE 18,35
PRINT f4$
LOCATE 17,60
PRINT f5$
LOCATE 19,60
PRINT f6$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula9:
title$ = "Fraction With Superscripted & Subscripted Numerator & Denominator"
COLOR 1,0
CLS
z = 38 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 5,11
PRINT " In descriptions of Gauss's test for the convergence"
LOCATE 6,11
PRINT "of infinite series, an often-used example is stated in"
LOCATE 7,11
PRINT "the form of a test of this ratio:"
CharacterWidth% = 9
xchr% = 20
ychr% = 11
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f1$ = "\+u\-n"
f2$ = "u\-n+1"
Numerator$ = f1$
Denominator$ = f2$
GOSUB Fraction
Formula$ = " = "
GOSUB TranslateFormula
f3$ = "\+n\+2\- + a\-1\+n + a\-0"
f4$ = "\-n\+2\- + b\-1\+n + b\-0"
Numerator$ = f3$
Denominator$ = f4$
GOSUB Fraction
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
COLOR 3,1
LOCATE 17,20
PRINT f1$
LOCATE 17,30
PRINT f3$
LOCATE 19,20
PRINT f2$
LOCATE 19,30
PRINT f4$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula10:
title$ = "Fraction With Fractional Denominator"
COLOR 1,0
CLS
z = 38 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 5,11
CharacterWidth% = 8
xchr% = 4
ychr% = 5
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f1$ = "v = v\-1\Z + v\-2\Z"
Formula$ = "The Newtonian velocity addition law: " + f1$
GOSUB TranslateFormula
xchr% = 4
ychr% = 11
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
Formula$ = "The Einstein velocity addition law: v = "
GOSUB TranslateFormula
f2$ = "\+v\-1\+ + v\-2"
f3$ = "\-\-1 + \J "
Numerator$ = f2$
Denominator$ = f3$
GOSUB Fraction
Formula$ = "\j"
GOSUB TranslateFormula :' position denominator fraction
f4$ = "\+v\-1\+v\-2"
f5$ = "\-c\+2"
Numerator$ = f4$
Denominator$ = f5$
GOSUB Fraction
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
COLOR 3,1
LOCATE 8,5
PRINT f1$
LOCATE 17,40
PRINT f2$
LOCATE 19,24
PRINT f3$
LOCATE 19,43
PRINT f4$
LOCATE 19,60
PRINT f5$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula11:
title$ = "Time Units: Conversion of Compound to Decimal Form"
COLOR 1,0
CLS
z = 38 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 3,2
PRINT "As everyone knows, the Earth does not turn on its axis once every 24 h."
LOCATE 4,2
PRINT "It actually takes 23 h 56 min 04.09054 s to turn once on its axis."
CharacterWidth% = 9
xchr% = 3
ychr% = 9
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f1$ = "T\-rot\Z = 23\+h\Z56\+m\Z04.\+\9s\Z09054"
f1$ = f1$ + " = \J \K"
Formula$ = f1$
GOSUB TranslateFormula
Formula$ = "\j"
GOSUB TranslateFormula :' position fraction at J location
f2$ = "\+23 + \L "
f3$ = "24"
Numerator$ = f2$
Denominator$ = f3$
GOSUB Fraction
Formula$ = "\l"
GOSUB TranslateFormula :' position fraction at L location
f4$ = "\+56 + \M "
f5$ = "60"
Numerator$ = f4$
Denominator$ = f5$
GOSUB Fraction
Formula$ = "\m"
GOSUB TranslateFormula :' position fraction at M location
f6$ = "4.09054"
Numerator$ = f6$
Denominator$ = f5$
GOSUB Fraction
Formula$ = "\k"
GOSUB TranslateFormula :' position at K location
f7$ = "days"
Formula$ = f7$
GOSUB TranslateFormula
LOCATE 11,10
PRINT "= 0.997 269 5664 days"
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
COLOR 3,1
LOCATE 17,3
PRINT f1$
LOCATE 15,30
PRINT f2$
LOCATE 19,45
PRINT f3$
LOCATE 13,40
PRINT f4$
LOCATE 19,57
PRINT f5$
LOCATE 11,50
PRINT f6$
LOCATE 19,70
PRINT f7$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula12:
title$ = "von Weizsacker's Formula"
COLOR 1,0
CLS
z = 38 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 3,7
PRINT "In a 1938 paper on "+q$+"Element Transformation Inside Stars"+q$+","
LOCATE 4,4
PRINT "published in Physikalische Zeitschrift, Carl Friedrich von Weizsacker"
LOCATE 5,4
PRINT "uses this formula, which deals with temperature distribution:"
CharacterWidth% = 9
xchr% = 23
ychr% = 9
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f1$ = "kT = "
Formula$ = f1$
GOSUB TranslateFormula
f2$ = "\+E\-A\+ - E\-A-1"
f3$ = "\-\-\-ln \J "
Numerator$ = f2$
Denominator$ = f3$
GOSUB Fraction
Formula$ = "\j"
GOSUB TranslateFormula :' position fraction at J location
f4$ = "\+n\-A-2\+ n\-A\- \K"
f5$ = "\-n\+2\-\9\-A-1\Z"
Numerator$ = f4$
Denominator$ = f5$
GOSUB Fraction
Formula$ = "\k \. "
GOSUB TranslateFormula :' position fraction at K location
f6$ = "\+G\+2\-\-\9A-1"
f7$ = "\-G\-A-2\+ G\-A"
Numerator$ = f6$
Denominator$ = f7$
GOSUB Fraction
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
COLOR 3,1
LOCATE 18,13
PRINT f1$
LOCATE 16,39
PRINT f2$
LOCATE 19,20
PRINT f3$
LOCATE 18,34
PRINT f4$
LOCATE 20,34
PRINT f5$
LOCATE 18,60
PRINT f6$
LOCATE 20,60
PRINT f7$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN
Formula13:
title$ = "Superscripted Subscript"
COLOR 1,0
CLS
z = 38 - LEN(title$) \ 2
LOCATE 1,z
PRINT title$
LOCATE 3,11
PRINT q$+"Exchange reactions"+q$+" are chemical reactions in which the"
LOCATE 4,8
PRINT "reagents and the products differ only in isotopic composition."
LOCATE 5,8
PRINT "An example is this exchange reaction:"
CharacterWidth% = 9
xchr% = 13
ychr% = 7
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f1$ = "C \+16\ZO\-2\Z + 2 H\-2\Z\+18\ZO\B C \+18\ZO\-2\Z + 2 H\-2\Z\+16\ZO"
Formula$ = f1$
GOSUB TranslateFormula
LOCATE 9,8
PRINT "which has an equilibrium constant K given by"
xchr% = 2
ychr% = 14
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
Formula$ = "K = "
GOSUB TranslateFormula
f2$ = "\+\+\+P\-\-(C \+18\-O\-2\+)\+\+ x P\+2\9\-\-\-(H\-2\+\+16\-O)"
f3$ = "\-P\-\-(C \+16\-O\-2\+)\+\+ x P\+2\9\-\-\-(H\-2\+\+18\-O)"
Numerator$ = f2$
Denominator$ = f3$
GOSUB Fraction
LOCATE 11,40
PRINT "where"
xchr% = 43
ychr% = 12
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f4$ = "P\-\-(C \+18\-O\-2\+)\Z = the pressure"
Formula$ = f4$
GOSUB TranslateFormula
xchr% = 57
ychr% = 13
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f5$ = "exerted by C \+18\ZO\-2\Z"
Formula$ = f5$
GOSUB TranslateFormula
LOCATE 14,57
PRINT "at equilibrium,"
LOCATE 15,40
PRINT "and"
xchr% = 43
ychr% = 16
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f4$ = "P\-\-(H\-2\+\+18\-O)\Z = the pressure"
Formula$ = f4$
GOSUB TranslateFormula
xchr% = 58
ychr% = 17
xpixel% = 8 * xchr% - 7
ypixel% = 8 * ychr% - 8
f5$ = "exerted by H\-2\+\+18\-O"
Formula$ = f5$
GOSUB TranslateFormula
LOCATE 18,55
PRINT "at equilibrium,"
LOCATE 19,40
PRINT "etc."
FlagBox% = 2
GOSUB ButtonBox
IF FlagChoice% = 1 THEN
COLOR 3,1
LOCATE 9,1
PRINT f1$
LOCATE 19,1
PRINT f2$
LOCATE 20,1
PRINT f3$
FlagBox% = 1
GOSUB ButtonBox
END IF
RETURN